﻿


CREATE proc [Notiz].[GetTelefonNotizList]  
@UserID int = 0,
@logUserID int = 0
as
begin
	declare @logTime datetime2(7) = sysdatetime()

	if @UserID = 0
	begin
		select 
			t.NotizID					'NotizID',
			t.NameAnrufer				'NameAnrufer',
			t.Firma						'Firma',
			t.TelefonNummer				'TelefonNummer',
			t.Betreff					'Betreff',
			t.Notiz						'Notiz',
			t.Strasse					'NotizStrasse',
			t.Plz						'NotizPlz',
			t.Ort						'NotizOrt',
			Coalesce(t.EMail,'')		'NotizEMail',
			t.NotizOrgKey				'NotizOrgKey',
			t.AnrufZeit					'AnrufZeit',
			t.AnrufType					'AnrufType',
			t.TecUser					'TecUserID',
			t.[Status]					'Status',
			t.AnlageDatum				'AnlageDatum',
			t.Änderung					'ÄnderungDatum',
			u.LoginName					'TecUser',
			t.Sex						'Sex',
			mn.UserID					'UserID'
		from	Notiz.datTelefonNotiz t
				inner join (
					select	nn.NotizID, min(nn.UserID) 'UserID'
					from	Notiz.mnUserNotiz nn
					group by nn.NotizID
					) mn on
					mn.NotizID = t.NotizID
				inner join [User].datUser u on
					u.UserID = t.TecUser
		where	(t.[Status] <= 2)
		order by t.AnlageDatum desc
	end else
	begin
		select 
			t.NotizID					'NotizID',
			t.NameAnrufer				'NameAnrufer',
			t.Firma						'Firma',
			t.TelefonNummer				'TelefonNummer',
			t.Betreff					'Betreff',
			t.Notiz						'Notiz',
			t.Strasse					'NotizStrasse',
			t.Plz						'NotizPlz',
			t.Ort						'NotizOrt',
			Coalesce(t.EMail,'')		'NotizEMail',
			t.NotizOrgKey				'NotizOrgKey',
			t.AnrufZeit					'AnrufZeit',
			t.AnrufType					'AnrufType',
			t.TecUser					'TecUserID',
			t.[Status]					'Status',
			t.AnlageDatum				'AnlageDatum',
			t.Änderung					'ÄnderungDatum',
			u.LoginName					'TecUser',
			t.Sex						'Sex',
			nn.UserID					'UserID'
		from	Notiz.datTelefonNotiz t
				inner join [User].datUser u on
					u.UserID = t.TecUser
				inner join Notiz.mnUserNotiz nn on
					nn.NotizID = t.NotizID
		where	(t.[Status] <= 2)
				and nn.UserID = @UserID
		order by t.AnlageDatum desc
	end

	if @logUserID != 0
	begin
		insert into log.hlpUserLog (UserID, logDateTime, logType)
		values (@logUserID, @logTime, 'I')
	end

end
